kanzi::MainLoopTaskProfilerRegistry Class Reference

The registry of main loop task profilers. More...

#include <kanzi/core/profiling/main_loop_task_profiler_registry.hpp>

Inheritance diagram for kanzi::MainLoopTaskProfilerRegistry:
kanzi::ProfilerRegistry< MainLoopTaskProfiler >

Public Member Functions

 MainLoopTaskProfilerRegistry ()
 Constructor. More...
 
size_t getMainLoopCounter () const
 To get the value of the main loop counter, use getMainLoopCounter(). More...
 
void incrementMainLoopCounter ()
 Increments the main loop counter. More...
 
- Public Member Functions inherited from kanzi::ProfilerRegistry< MainLoopTaskProfiler >
void registerProfiler (ProfilerSharedPtr profiler)
 Adds a new profiler to the registry. More...
 
void unregisterProfiler (ProfilerSharedPtr profiler)
 Removes a profiler from the registry. More...
 
ProfilerContainer::const_iterator beginProfilers () const
 Gets iterator to the begging of the profiler container. More...
 
ProfilerContainer::const_iterator endProfilers () const
 Gets iterator to the end of the profiler container. More...
 

Public Attributes

MainLoopTaskProfilerSharedPtr m_animationProfiler
 Main loop animation profiler. More...
 
MainLoopTaskProfilerSharedPtr m_renderingProfiler
 Main loop rendering profiler. More...
 
MainLoopTaskProfilerSharedPtr m_applicationEventsProfiler
 Main loop application events profiler. More...
 
MainLoopTaskProfilerSharedPtr m_appUpdateProfiler
 Main loop application update profiler. More...
 
MainLoopTaskProfilerSharedPtr m_resourceDeploymentProfiler
 Main loop resource deployment profiler. More...
 
MainLoopTaskProfilerSharedPtr m_graphicsEventsProfiler
 Main loop graphics events profiler. More...
 
MainLoopTaskProfilerSharedPtr m_inputProfiler
 Main loop input profiler. More...
 
MainLoopTaskProfilerSharedPtr m_userUpdateProfiler
 The user update profiler. More...
 
MainLoopTaskProfilerSharedPtr m_resourceManagerUpdateProfiler
 Main loop resource manager update profiler. More...
 
MainLoopTaskProfilerSharedPtr m_taskDispatcherProfiler
 Main loop task dispatcher profiler. More...
 
MainLoopTaskProfilerSharedPtr m_taskSchedulerProfiler
 Main loop task scheduler profiler. More...
 
MainLoopTaskProfilerSharedPtr m_layoutProfiler
 Main loop layout profiler. More...
 
MainLoopTaskProfilerSharedPtr m_hudProfiler
 Main loop HUD profiler. More...
 

Additional Inherited Members

- Public Types inherited from kanzi::ProfilerRegistry< MainLoopTaskProfiler >
typedef shared_ptr< MainLoopTaskProfilerProfilerSharedPtr
 The profiler shared point type. More...
 
typedef unordered_set< ProfilerSharedPtrProfilerContainer
 The profiler container type. More...
 
- Protected Attributes inherited from kanzi::ProfilerRegistry< MainLoopTaskProfiler >
ProfilerContainer m_registeredProfilers
 The registered profilers. More...
 

Detailed Description

The registry of main loop task profilers.

Constructor & Destructor Documentation

kanzi::MainLoopTaskProfilerRegistry::MainLoopTaskProfilerRegistry ( )
inlineexplicit

Constructor.

Member Function Documentation

size_t kanzi::MainLoopTaskProfilerRegistry::getMainLoopCounter ( ) const
inline

To get the value of the main loop counter, use getMainLoopCounter().

void kanzi::MainLoopTaskProfilerRegistry::incrementMainLoopCounter ( )
inline

Increments the main loop counter.

Do not use this function directly. The Kanzi main loop calls it internally.

Member Data Documentation

MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_animationProfiler

Main loop animation profiler.

On every Kanzi main loop iteration, the profiler measures the time spent rendering animation.

See also
TimelinePlayback
Note
The profiler is available in Kanzi profiling build only.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_renderingProfiler

Main loop rendering profiler.

On every Kanzi main loop iteration, the profiler measures the time spent rendering the screen in Application::renderOverride().

Note
The profiler is available in Kanzi profiling build only.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_applicationEventsProfiler

Main loop application events profiler.

On every Kanzi main loop iteration, the profiler measures the time spent gathering and handling events from all available event sources, such as keyboard, mouse, and other available manipulators.

See also
EventSource
Note
The profiler is available in Kanzi profiling build only.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_appUpdateProfiler

Main loop application update profiler.

On every Kanzi main loop iteration, the profiler measures the time spent inside the user-provided Application::update() override.

Note
The profiler is available in Kanzi profiling build only.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_resourceDeploymentProfiler

Main loop resource deployment profiler.

On every Kanzi main loop iteration, the profiler measures the time spent processing asynchronous task deployment queue.

See also
Application::progressDeploymentQueue()
Note
The profiler is available in Kanzi profiling build only.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_graphicsEventsProfiler

Main loop graphics events profiler.

On every Kanzi main loop iteration, the profiler measures the time spent processing events that affect graphics output, such as KZS_EVENT_WINDOW_RESIZED and KZS_EVENT_WINDOW_RESIZE_REQUESTED.

See also
GraphicsOutput, KzsEventType
Note
The profiler is available in Kanzi profiling build only.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_inputProfiler

Main loop input profiler.

On every Kanzi main loop iteration, the profiler measures the time spent by InputManager in processing various input events, including input events from keyboard and mouse.

See also
InputManager::processEvents()
Note
Available in Kanzi profiling build only.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_userUpdateProfiler

The user update profiler.

On every Kanzi main loop iteration, the profiler measures the time spent executing user-provided update logic callback Application::onUpdate().

Note
Available in Kanzi profiling build only.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_resourceManagerUpdateProfiler

Main loop resource manager update profiler.

On every Kanzi main loop iteration, the profiler measures the time consumed by the resource manager to process load and deployment queues.

See also
ResourceManager::update()
Note
Available in Kanzi profiling build only.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_taskDispatcherProfiler

Main loop task dispatcher profiler.

On every Kanzi main loop iteration, the profiler measures the time spent executing tasks added to KzuTaskScheduler.

See also
TaskDispatcherBase::executeTasks()
Note
Available in Kanzi profiling build only.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_taskSchedulerProfiler

Main loop task scheduler profiler.

On every Kanzi main loop iteration, the profiler measures the time spent executing periodic tasks added to TaskDispatcher, including animation.

See also
kzuTaskSchedulerExecuteAllTasks()
Note
This profiler is available in Kanzi profiling build only.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_layoutProfiler

Main loop layout profiler.

On every Kanzi main loop iteration, the profiler measures the performance of the layout pass.

See also
Node2D, Node2D::layout()
Note
This profiler is available in Kanzi profiling build only.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_hudProfiler

Main loop HUD profiler.

On every Kanzi main loop iteration, the profiler measures the overhead caused by rendering the HUD information.

Note
This profiler is available in Kanzi profiling build only.

The documentation for this class was generated from the following file: